/*
 * Botones (No puede tener el mismo ID)
 */

Asi.constants.buttons.ACTUALIZAR_DATOS = "Actualizar Datos";
Asi.constants.buttons.CARRO_COMPRA = "Carro de Compras";
Asi.constants.buttons.HISTORIAL_COMPRA = "Historial de Compras";
Asi.constants.buttons.REPORTE_HISTORIAL_COMPRA = "Reporte Historial compra";
Asi.constants.buttons.ASIGNACION_TAREAS = "Asignacion Tareas";
Asi.constants.buttons.GESTION_INSTALADORES = "Gestionar Grupo de Insladores";
Asi.constants.buttons.CONTROL_PEDIDO = "Control del Pedido";
Asi.constants.buttons.INICIO_EMPLEADO = "Ir a Inicio";
Asi.constants.buttons.PRODUCTO_TERMINADO = "Producto Terminado";
Asi.constants.buttons.REQUISICION_INVENTARIO = "Requisicion Inventario";
Asi.constants.buttons.ORDEN_TRABAJO = "Orden Trabajo";
Asi.constants.buttons.CONTROL_INVENTARIO = "Control Inventario";
Asi.constants.buttons.COMPRA_PROVEEDOR = "Compra Proveedor";
Asi.constants.buttons.REQUISICION_AUTORIZADA = "Requisicion Autorizada";
Asi.constants.buttons.CANCELAR_PEDIDO = "Cancelar Pedido";

Asi.constants.buttons.ASISTENCIA_TECNICA = "Asistencia Tecnica";

Asi.constants.buttons.AUTORIZACION_GERENTE = "Autorizacion Gerente";
Asi.constants.buttons.RESPORTE_GERENTE = "Reportes";
Asi.constants.buttons.RESPORTE_INVENTARIO = "Reporte Inventario";
Asi.constants.buttons.TAREA_ASIGNADAS = "Tareas Asignadas";
Asi.constants.buttons.REPORTE_TAREA_ASIGNADAS = "reporte tareas asignadas";
Asi.constants.buttons.REPORTE_ORDEN_TRABAJO = "Reporte Orden Trabajo";
Asi.constants.buttons.REPORTE_DE_VENTAS = "Reporte De Ventas";
Asi.constants.buttons.REPORTE_REQUISICIONES_AUTORIZADAS = "Reporte Requisiciones Autorizadas";
Asi.constants.buttons.RESUMEN_DE_VENTAS = "Resumen De Ventas";
Asi.constants.buttons.VENTAS_PERIODO = "Vntas por periodo";


Asi.constants.windows.ACTUALIZAR_DATOS = "clienteActualizarDatos";
Asi.constants.windows.CARRO_COMPRA = "carroCompra";
Asi.constants.windows.HISTORIAL_COMPRA = "historialCompras";

Asi.constants.windows.ASIGNACION_TAREAS_SECRETARIA = "asignacionTareas";
Asi.constants.windows.GESTION_INSTALADORES_SECRETARIA = "gestionInstaladores";
Asi.constants.windows.CONTROL_PEDIDO_SECRETARIA = "controlPedido";
Asi.constants.windows.ASIGNACION_TAREAS_VENDEDOR = "asignacionTareasVendedor";
Asi.constants.windows.GESTION_INSTALADORES_VENDEDOR = "gestionInstaladoresVendedor";
Asi.constants.windows.CONTROL_PEDIDO_VENDEDOR = "controlPedidoVendedor";
Asi.constants.windows.PRODUCTO_TERMINADO_VENDEDOR = "productoTerminadoVendedor";
Asi.constants.windows.ASISTENCIA_TECNICA_VENDEDOR = "asistenciaTecnicaVendedor";


Asi.constants.windows.REQUISICION_INVENTARIO_JEFE_TALLER = "requisicionInventarioJefeTaller";
Asi.constants.windows.ORDEN_TRABAJO_JEFE_TALLER = "ordenTrabajoJefeTaller";
Asi.constants.windows.CONTROL_INVENTARIO_JEFE_TALLER = "controInventarioJefeTaller";
Asi.constants.windows.PRODUCTO_TERMINADO_JEFE_TALLER = "productoTerminadoJefeTaller";

Asi.constants.windows.REQUISICION_INVENTARIO_ASISTENTE_GERENTE = "requisicionInventariAsistenteGerente";
Asi.constants.windows.CONTROL_INVENTARIO_ASISTENTE_GERENTE = "controInventarioAsistenteGerente";
Asi.constants.windows.COMPRA_PROVEEDOR_ASISTENTE_GERENTE = "controInventarioAsistenteGerente";
Asi.constants.windows.REQUISICION_AUTORIZADA_ASISTENTE_GERENTE = "requisicionAutorizadaAsistenteGerente";

Asi.constants.windows.CONTROL_INVENTARIO_GERENTE = "controlInventarioGerente";
Asi.constants.windows.REPORTE_GERENTE_GERENTE = "reporteGerenteGerente";
Asi.constants.windows.AUTORIZACION_GERENTE_GERENTE = "autorizacionGerenteGerente";

Asi.constants.windows.TAREA_ASIGNADAS = "tareasAsignadas";

Asi.constants.REGISTRO_NO_SELECCIONADO = "Debe seleccionar un Registro";
Asi.constants.USUARIO_ID_NO_EXISTE = "No Existe Usuario, intentar iniciar sesion de nuevo";
Asi.constants.REGISTRO_NO_SELECCIONADO = "Debe seleccionar un registro";
Asi.constants.ACCION_NO_DISPONIBLE = "Opci\u00F3n no disponible";
















Menu = function(){
	return {
		openSelfWindow: function(url, parameters){
			if(Ext.get("postMethodSubmit")) Ext.get("postMethodSubmit").remove();
			var form = Ext.get(Ext.getBody()).createChild({tag: "form", method: "post", id: "postMethodSubmit"});
			if(url.indexOf("?") != -1){
				var extraParameters = url.split("?")[1];
				url = url.split("?")[0];
				if(!extraParameters.toString().isEmpty()){
					var extraParametersArray = extraParameters.split("&");
					Ext.each(extraParametersArray, function(item){
						form.createChild({tag: "input", type: "hidden", name: item.split("=")[0], value: item.split("=")[1]});
					});
				}
			}
			if(parameters){
				Ext.each(parameters, function(object, index){
					Ext.iterate(object, function(name, value) {form.createChild({tag: "input", type: "hidden", name: name, value: value});});
				});
			}
			form.dom.setAttribute("action", Asi.constants.CONTEXT_PATH + "/" + url);
			form.dom.setAttribute("target", "");
			form.dom.submit();
		},
		openWindow: function(url, parameters){
			var windowId = "window_form_" + new Date().getTime();
			window.open("about:blank", windowId,
				"location=0,scrollbars,toolbar=0,titlebar=no,status=no,resizable=no,width=850,height=700,location=no");
			if(Ext.get("postMethodSubmit")) Ext.get("postMethodSubmit").remove();
			var form = Ext.get(Ext.getBody()).createChild({tag: "form", method: "post", id: "postMethodSubmit"});
			if(url.indexOf("?") != -1){
				var extraParameters = url.split("?")[1];
				url = url.split("?")[0];
				if(!extraParameters.toString().isEmpty()){
					var extraParametersArray = extraParameters.split("&");
					Ext.each(extraParametersArray, function(item){
						form.createChild({tag: "input", type: "hidden", name: item.split("=")[0], value: item.split("=")[1]});
					});
				}
			}
			if(parameters){
				Ext.each(parameters, function(object, index){
					Ext.iterate(object, function(name, value) {form.createChild({tag: "input", type: "hidden", name: name, value: value});});
				});
			}
			form.dom.setAttribute("action", Asi.constants.CONTEXT_PATH + "/" + url);
			form.dom.setAttribute("target", windowId);
			form.dom.submit();
		},
		digitalizar: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alertInvalid(Asi.constants.REGISTRO_NO_SELECCIONADO);
				return;
			}
			AsiDigitalizacion.initDigitalizacion();
		},
		digitalizarFacturaCompra: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alertInvalid(Asi.constants.REGISTRO_NO_SELECCIONADO);
				return;
			}
			DigitalizarFacturaCompra.initDigitalizacion();
		},
		abrirClienteActualizacionDatos: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"cliente/actualizarDatosView",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirCarroCompras: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"/clienteHome",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirHistorialCompras: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"cliente/historialCompraView",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirReporteHistorialCliente: function (){
			Menu.openWindow(
								"reportes/generarReportePdf",
								{
									nombreReporte: "reporteHistorialCliente",
									usuarioId: AsiGen.getUsuarioId()
										
								}
							);
		},
		abrirAsignacionTareas: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/asignacionTareasView",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirGestionInstaladores: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/instaladorView",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirControlPedido: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/controlPedidoView",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirInicioEmpleado: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleadoHome",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirProductoTerminado: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/productoTerminadoView",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirRequisicionInventario: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/requisicionInventario/View",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirOrdenTrabajo: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/ordenTrabajo",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirControlInventario: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/controlInventario",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirCompraProveedor: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/compraProveedor",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirAutorizacionGerente: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"gerente/gerenteRequisicionInventario",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirReportesGerente: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"gerente/reporteGeneral",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirRequisicionAutorizada: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/requisicionAutorizada",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirReportesInventario: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "reporteInventario",
					usuarioId: AsiGen.getUsuarioId()
						
				}
			);
		},
		abrirTareasAsignadas: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/tareasAsignadas",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirReporteAsignacionTarea: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "reporteAsignacionTarea",
					usuarioId: AsiGen.getUsuarioId()
						
				}
			);
		},
		abrirReporteOrdenTrabajo: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "reporteOrdenTrabajo",
					usuarioId: AsiGen.getPedidoId()
						
				}
			);
		},
		abrirReporteDeVentas: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "reporteDeVentas",
					usuarioId: AsiGen.getPedidoId()
						
				}
			);
		},
		abrirReporteRequisicionesAutorizadas: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "reporteRequisicionesAutorizadas",
					usuarioId: AsiGen.getPedidoId()
						
				}
			);
		},
		abrirCancelarProducto: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"cliente/cancelarPedido",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirAsistenciaTecnica: function(){
			if(Ext.isEmpty(AsiGen.getUsuarioId())){
				Asi.message.alert(Asi.constants.USUARIO_ID_NO_EXISTE);
				return;
			}
			Menu.openSelfWindow(
				"empleado/asistenciaTecnica",
				{
					usuarioId: AsiGen.getUsuarioId()
				}
			);
		},
		abrirResumenDeVentas: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "resumenDeVentas",
					usuarioId: AsiGen.getUsuarioId()
						
				}
			);
		},
		abrirVentasPorPeriodo: function (){
			Menu.openWindow(
				"reportes/generarReportePdf",
				{
					nombreReporte: "ventasPorPeriodo1",
					usuarioId: AsiGen.getUsuarioId()
						
				}
			);
		}
		
		
		
		
		
		
	};
}();
















AsiBotones = function(){
	var botones = {};
	botones[Asi.constants.buttons.ACTUALIZAR_DATOS] = {
			text: Asi.constants.buttons.ACTUALIZAR_DATOS,
			iconCls: Asi.constants.icons.ACTUALIZAR_DATOS,
			handler: Menu.abrirClienteActualizacionDatos
	};
	botones[Asi.constants.buttons.CARRO_COMPRA] = {
			text: Asi.constants.buttons.CARRO_COMPRA,
			iconCls: Asi.constants.icons.SHOPPIN_CAR,
			handler: Menu.abrirCarroCompras
	};
	botones[Asi.constants.buttons.HISTORIAL_COMPRA] = {
			text: Asi.constants.buttons.HISTORIAL_COMPRA,
			iconCls: Asi.constants.icons.HISTORIAL_COMPRA,
			handler: Menu.abrirHistorialCompras
	};
	botones[Asi.constants.buttons.REPORTE_HISTORIAL_COMPRA] = {
			text: Asi.constants.buttons.REPORTE_HISTORIAL_COMPRA,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReporteHistorialCliente
	};
	botones[Asi.constants.buttons.ASIGNACION_TAREAS] = {
			text: Asi.constants.buttons.ASIGNACION_TAREAS,
			iconCls: Asi.constants.icons.ASIGNACION_TAREA,
			handler: Menu.abrirAsignacionTareas
	};
	botones[Asi.constants.buttons.GESTION_INSTALADORES] = {
			text: Asi.constants.buttons.GESTION_INSTALADORES,
			iconCls: Asi.constants.icons.GESTION_INSTALADORES,
			handler: Menu.abrirGestionInstaladores
	};
	botones[Asi.constants.buttons.CONTROL_PEDIDO] = {
			text: Asi.constants.buttons.CONTROL_PEDIDO,
			iconCls: Asi.constants.icons.CONTROL_PEDIDO,
			handler: Menu.abrirControlPedido
	};
	//BOTON PARA VOLVER A INICIO EMPLEADO
	botones[Asi.constants.buttons.INICIO_EMPLEADO] = {
			text: Asi.constants.buttons.INICIO_EMPLEADO,
			iconCls: Asi.constants.icons.HOME_YO,
			handler: Menu.abrirInicioEmpleado
	};
	botones[Asi.constants.buttons.PRODUCTO_TERMINADO] = {
			text: Asi.constants.buttons.PRODUCTO_TERMINADO,
			iconCls: Asi.constants.icons.PRODUCTO_TERMINADO,
			handler: Menu.abrirProductoTerminado
	};
	botones[Asi.constants.buttons.REQUISICION_INVENTARIO] = {
			text: Asi.constants.buttons.REQUISICION_INVENTARIO,
			iconCls: Asi.constants.icons.REQUISICION_INVENTARIO,
			handler: Menu.abrirRequisicionInventario
	};
	botones[Asi.constants.buttons.ORDEN_TRABAJO] = {
			text: Asi.constants.buttons.ORDEN_TRABAJO,
			iconCls: Asi.constants.icons.ORDEN_TRABAJO,
			handler: Menu.abrirOrdenTrabajo
	};
	botones[Asi.constants.buttons.CONTROL_INVENTARIO] = {
			text: Asi.constants.buttons.CONTROL_INVENTARIO,
			iconCls: Asi.constants.icons.CONTROL_INVENTARIO,
			handler: Menu.abrirControlInventario
	};
	botones[Asi.constants.buttons.COMPRA_PROVEEDOR] = {
			text: Asi.constants.buttons.COMPRA_PROVEEDOR,
			iconCls: Asi.constants.icons.COMPRA_PROVEEDOR,
			handler: Menu.abrirCompraProveedor
	};
	botones[Asi.constants.buttons.AUTORIZACION_GERENTE] = {
			text: Asi.constants.buttons.AUTORIZACION_GERENTE,
			iconCls: Asi.constants.icons.AUTORIZACION_GERENTE,
			handler: Menu.abrirAutorizacionGerente
	};
	botones[Asi.constants.buttons.REQUISICION_AUTORIZADA] = {
			text: Asi.constants.buttons.REQUISICION_AUTORIZADA,
			iconCls:Asi.constants.icons.REQUISICION_AUTORIZADA,
			handler: Menu.abrirRequisicionAutorizada
	};
	botones[Asi.constants.buttons.RESPORTE_GERENTE] = {
			text: Asi.constants.buttons.RESPORTE_GERENTE,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReportesGerente
	};
	botones[Asi.constants.buttons.RESPORTE_INVENTARIO] = {
			text: Asi.constants.buttons.RESPORTE_INVENTARIO,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReportesInventario
	};
	botones[Asi.constants.buttons.TAREA_ASIGNADAS] = {
			text: Asi.constants.buttons.TAREA_ASIGNADAS,
			iconCls: Asi.constants.icons.TAREAS_ASIGNADAS,
			handler: Menu.abrirTareasAsignadas
	};
	botones[Asi.constants.buttons.REPORTE_TAREA_ASIGNADAS] = {
			text: Asi.constants.buttons.REPORTE_TAREA_ASIGNADAS,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReporteAsignacionTarea
	};
	botones[Asi.constants.buttons.REPORTE_ORDEN_TRABAJO] = {
			text: Asi.constants.buttons.REPORTE_ORDEN_TRABAJO,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReporteOrdenTrabajo
	};
	botones[Asi.constants.buttons.REPORTE_DE_VENTAS] = {
			text: Asi.constants.buttons.REPORTE_DE_VENTAS,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReporteDeVentas
	};Asi.constants.buttons.RESUMEN_DE_VENTAS
	botones[Asi.constants.buttons.REPORTE_REQUISICIONES_AUTORIZADAS] = {
			text: Asi.constants.buttons.REPORTE_REQUISICIONES_AUTORIZADAS,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirReporteRequisicionesAutorizadas
	};
	botones[Asi.constants.buttons.CANCELAR_PEDIDO] = {
			text: Asi.constants.buttons.CANCELAR_PEDIDO,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirCancelarProducto
	};
	botones[Asi.constants.buttons.ASISTENCIA_TECNICA] = {
			text: Asi.constants.buttons.ASISTENCIA_TECNICA,
			iconCls: Asi.constants.icons.ASIGNACION_TAREA,
			handler: Menu.abrirAsistenciaTecnica
	};
	botones[Asi.constants.buttons.RESUMEN_DE_VENTAS] = {
			text: Asi.constants.buttons.RESUMEN_DE_VENTAS,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirResumenDeVentas
	};
	botones[Asi.constants.buttons.VENTAS_PERIODO] = {
			text: Asi.constants.buttons.VENTAS_PERIODO,
			iconCls: Asi.constants.icons.REPORTES,
			handler: Menu.abrirVentasPorPeriodo
	};
	 
	
	/**
	 * 
	 * Declaracion de Menus
	 * 
	 * **/
	var relacionMenus = [
	                     
/**
 * Menu Cliente
 **/	                     
{
	ctgTipoPersonaCodigo: Asi.constants.codes.CLIENTE,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.ACTUALIZAR_DATOS,
        	accionesAsi: [
	              Asi.constants.buttons.ACTUALIZAR_DATOS,
	              Asi.constants.buttons.HISTORIAL_COMPRA,
	              Asi.constants.buttons.REPORTE_HISTORIAL_COMPRA,
	              Asi.constants.buttons.CANCELAR_PEDIDO
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.CARRO_COMPRA,
        	accionesAsi: [
        	      Asi.constants.buttons.CARRO_COMPRA,
        	      Asi.constants.buttons.HISTORIAL_COMPRA,
        	      Asi.constants.buttons.CANCELAR_PEDIDO
        	      
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.HISTORIAL_COMPRA,
        	accionesAsi: [
        	      Asi.constants.buttons.ACTUALIZAR_DATOS,
        	      Asi.constants.buttons.CARRO_COMPRA,
        	      Asi.constants.buttons.REPORTE_HISTORIAL_COMPRA,
        	      Asi.constants.buttons.CANCELAR_PEDIDO
        	      
            ]
	    }
        
    ]
},
/**
 * Menu secretaria
 **/
{
	ctgTipoPersonaCodigo: Asi.constants.codes.SECRETARIA,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.GESTION_INSTALADORES_SECRETARIA,
        	accionesAsi: [
	              Asi.constants.buttons.ASIGNACION_TAREAS,
	              Asi.constants.buttons.CONTROL_PEDIDO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.ASIGNACION_TAREAS_SECRETARIA,
        	accionesAsi: [
        		  Asi.constants.buttons.GESTION_INSTALADORES,
        		  Asi.constants.buttons.CONTROL_PEDIDO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.CONTROL_PEDIDO_SECRETARIA,
        	accionesAsi: [
	              Asi.constants.buttons.GESTION_INSTALADORES,
				  Asi.constants.buttons.ASIGNACION_TAREAS
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
        }

    ]
},
/**
 * Menu Vendedor
 **/
{
	ctgTipoPersonaCodigo: Asi.constants.codes.VENDEDOR,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.GESTION_INSTALADORES_VENDEDOR,
        	accionesAsi: [
	              Asi.constants.buttons.ASIGNACION_TAREAS,
	              Asi.constants.buttons.CONTROL_PEDIDO,
	              Asi.constants.buttons.PRODUCTO_TERMINADO,
	              Asi.constants.buttons.ASISTENCIA_TECNICA
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESUMEN_DE_VENTAS
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.ASIGNACION_TAREAS_VENDEDOR,
        	accionesAsi: [
        		  Asi.constants.buttons.GESTION_INSTALADORES,
        		  Asi.constants.buttons.CONTROL_PEDIDO,
        		  Asi.constants.buttons.PRODUCTO_TERMINADO,
        		  Asi.constants.buttons.ASISTENCIA_TECNICA
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESUMEN_DE_VENTAS
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.CONTROL_PEDIDO_VENDEDOR,
        	accionesAsi: [
	              Asi.constants.buttons.GESTION_INSTALADORES,
				  Asi.constants.buttons.ASIGNACION_TAREAS,
				  Asi.constants.buttons.PRODUCTO_TERMINADO,
				  Asi.constants.buttons.ASISTENCIA_TECNICA
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESUMEN_DE_VENTAS
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.PRODUCTO_TERMINADO_VENDEDOR,
        	accionesAsi: [
	              Asi.constants.buttons.GESTION_INSTALADORES,
				  Asi.constants.buttons.ASIGNACION_TAREAS,
				  Asi.constants.buttons.CONTROL_PEDIDO,
				  Asi.constants.buttons.ASISTENCIA_TECNICA
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.REPORTE_DE_VENTAS,
                  Asi.constants.buttons.RESUMEN_DE_VENTAS
            ]
        },
        {
        	asiVentanaId:  Asi.constants.windows.ASISTENCIA_TECNICA_VENDEDOR,
        	accionesAsi: [
	              Asi.constants.buttons.GESTION_INSTALADORES,
				  Asi.constants.buttons.ASIGNACION_TAREAS,
				  Asi.constants.buttons.CONTROL_PEDIDO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESUMEN_DE_VENTAS
            ]
        }
       

    ]
},
/**
 * Menu Jefe de Taller
 **/
{
	ctgTipoPersonaCodigo: Asi.constants.codes.JEFE_TALLER,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.CONTROL_INVENTARIO_JEFE_TALLER,
        	accionesAsi: [
	              Asi.constants.buttons.REQUISICION_INVENTARIO,
	              Asi.constants.buttons.ORDEN_TRABAJO,
	              Asi.constants.buttons.PRODUCTO_TERMINADO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESPORTE_INVENTARIO
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.REQUISICION_INVENTARIO_JEFE_TALLER,
        	accionesAsi: [
        		  Asi.constants.buttons.CONTROL_INVENTARIO,
        		  Asi.constants.buttons.ORDEN_TRABAJO,
	              Asi.constants.buttons.PRODUCTO_TERMINADO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.ORDEN_TRABAJO_JEFE_TALLER,
        	accionesAsi: [
	              Asi.constants.buttons.CONTROL_INVENTARIO,
	              Asi.constants.buttons.REQUISICION_INVENTARIO,
	              Asi.constants.buttons.PRODUCTO_TERMINADO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                 
                 
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.PRODUCTO_TERMINADO_JEFE_TALLER,
        	accionesAsi: [
	              Asi.constants.buttons.CONTROL_INVENTARIO,
	              Asi.constants.buttons.REQUISICION_INVENTARIO,
	              Asi.constants.buttons.ORDEN_TRABAJO
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.REPORTE_ORDEN_TRABAJO
                  
            ]
        }

    ]
},
/**
 * Menu Asistente de Gerente
 **/
{
	ctgTipoPersonaCodigo: Asi.constants.codes.ASISTENTE_GERENTE,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.CONTROL_INVENTARIO_ASISTENTE_GERENTE,
        	accionesAsi: [
	              Asi.constants.buttons.REQUISICION_INVENTARIO,
	              Asi.constants.buttons.REQUISICION_AUTORIZADA,
	              Asi.constants.buttons.COMPRA_PROVEEDOR
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESPORTE_INVENTARIO
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.REQUISICION_INVENTARIO_ASISTENTE_GERENTE,
        	accionesAsi: [
        		  Asi.constants.buttons.CONTROL_INVENTARIO,
        		  Asi.constants.buttons.REQUISICION_AUTORIZADA,
        		  Asi.constants.buttons.COMPRA_PROVEEDOR
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.REQUISICION_AUTORIZADA_ASISTENTE_GERENTE,
        	accionesAsi: [
        		  Asi.constants.buttons.CONTROL_INVENTARIO,
        		  Asi.constants.buttons.REQUISICION_INVENTARIO,
        		  Asi.constants.buttons.COMPRA_PROVEEDOR
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.REPORTE_REQUISICIONES_AUTORIZADAS
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.COMPRA_PROVEEDOR_ASISTENTE_GERENTE,
        	accionesAsi: [
	              Asi.constants.buttons.CONTROL_INVENTARIO,
	              Asi.constants.buttons.REQUISICION_INVENTARIO,
	              Asi.constants.buttons.REQUISICION_AUTORIZADA
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
        },

    ]
},
/**
 * Menu Gerente
 **/
{
	ctgTipoPersonaCodigo: Asi.constants.codes.GERENTE,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.CONTROL_INVENTARIO_GERENTE,
        	accionesAsi: [
	              Asi.constants.buttons.AUTORIZACION_GERENTE,
	              Asi.constants.buttons.RESPORTE_GERENTE
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.RESPORTE_INVENTARIO
            ]
	    },
	    {
        	asiVentanaId: Asi.constants.windows.AUTORIZACION_GERENTE_GERENTE,
        	accionesAsi: [
        		  Asi.constants.buttons.CONTROL_INVENTARIO,
        		  Asi.constants.buttons.RESPORTE_GERENTE
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO
            ]
        },
        {
        	asiVentanaId: Asi.constants.windows.REPORTE_GERENTE_GERENTE,
        	accionesAsi: [
	              Asi.constants.buttons.CONTROL_INVENTARIO,
	              Asi.constants.buttons.AUTORIZACION_GERENTE
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.INICIO_EMPLEADO,
                  Asi.constants.buttons.VENTAS_PERIODO 
            ]
        },

    ]
},
/**
 * Menu Instalador
 **/
{
	ctgTipoPersonaCodigo: Asi.constants.codes.INSTALADOR,
 	asiVentanas: [
        {
        	asiVentanaId: Asi.constants.windows.TAREA_ASIGNADAS,
        	accionesAsi: [
	              Asi.constants.buttons.TAREA_ASIGNADAS
            ],
            accionesInmediatas: [
                  Asi.constants.buttons.REPORTE_TAREA_ASIGNADAS 
            ]
	    }
	    

    ]
}





	];
	return {
		/**
		 * Funcion para llamar el menu por el tipo de persona y tipo de Pantalla
		 */
		getBotones: function(ctgTipoPersonaCodigo, asiVentanaId){
			var ctgTipoPersona = null;
			var asiVentana = null;
			var objectToReturn = [];
			for(var i = 0; i < relacionMenus.length; i++){
				if(relacionMenus[i].ctgTipoPersonaCodigo == ctgTipoPersonaCodigo){
					ctgTipoPersona = relacionMenus[i];
					break;
				}
			}
			if(ctgTipoPersona != null){
				for(var i = 0; i < ctgTipoPersona.asiVentanas.length; i++){
					if(ctgTipoPersona.asiVentanas[i].asiVentanaId == asiVentanaId){
						asiVentana = ctgTipoPersona.asiVentanas[i];
						break;
					}
				}
			}
			if(asiVentana){
				var accionesAsi = [];
				var accionesInmediatas = [];
				if(asiVentana.accionesAsi){
					for(var i = 0; i < asiVentana.accionesAsi.length; i++){
						accionesAsi.push(botones[asiVentana.accionesAsi[i]]);
						accionesAsi.push({xtype: 'tbspacer', width: 5});
					}
					if(accionesAsi.length > 0){
						objectToReturn.push({
				        	xtype: "buttongroup",
				            title: "Acciones ALFINTE",
				            //defaults: {iconAlign: "top"},
				            style: "min-width: 300px;",
				            columns: accionesAsi.length,
				            items: accionesAsi,
				            padding:"10 0 0 5",
				            bodyStyle:"min-height:25px"
				        });
					}
				}
				if(asiVentana.accionesInmediatas){
					for(var i = 0; i < asiVentana.accionesInmediatas.length; i++){
						accionesInmediatas.push(botones[asiVentana.accionesInmediatas[i]]);
						accionesInmediatas.push({xtype: 'tbspacer', width: 5});
					}
					if(accionesInmediatas.length > 0){
						objectToReturn.push({
				        	xtype: "buttongroup",
				            title: "Acciones Inmediatas",
				            style: "min-width: 300px",
				            columns: accionesInmediatas.length,
				            items: accionesInmediatas,
				            padding:"10 0 0 5",
							bodyStyle:"min-height:25px"
				        });
					}
				}
			}
			return objectToReturn;
		}
	};
}();